using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
using objetos;
using dados;

namespace negocios
{
    [Serializable]
	#region TB_USUARIO
	/// <summary>
	/// This object represents the properties and methods of a TB_USUARIO.
	/// </summary>
	public class BLL_TB_USUARIO
	{		
		DAL_TB_USUARIO DAL = new DAL_TB_USUARIO();
		
		#region METODOS PROCEDURES
		/// <summary>
		/// Incluir 
		/// </summary>
		public int Incluir(OBJ_TB_USUARIO obj)
		{
			return	DAL.Incluir(obj);
			
		}
		
		/// <summary>
		/// Alterar 
		/// </summary>
		public void Alterar(OBJ_TB_USUARIO obj)
		{
			DAL.Alterar(obj);	
		}
		
		/// <summary>
		/// Excluir 
		/// </summary>
		public void Excluir(OBJ_TB_USUARIO obj)
		{
			DAL.Excluir(obj);	
		}
		     
		/// <summary>
		/// Excluir Lista 
		/// </summary>
		public void ExcluirLista(List<OBJ_TB_USUARIO> lista)
		{
				foreach (OBJ_TB_USUARIO obj in lista)
            	{
                this.Excluir(obj);
            	}
			
		}
						
		/// <summary>
		/// Pesquisar Parametros Where, OrderBy, PageIndex, PageSize
		/// </summary>		
		public DataSet Selecionar(string Where, string OrderBy, int PageIndex, int PageSize)
		{
			
			return DAL.Selecionar(Where,OrderBy,PageIndex,PageSize);
			
		}		
		
		
		/// <summary>
		/// Retorna Objeto por ID
		/// </summary>
		public OBJ_TB_USUARIO SelecionarObjetoPorId(int id)
		{
			return DAL.SelecionarObjetoPorId(id);
			
		}
				
			
		/// <summary>
		/// Retorna DataSet Parametros Where, OrderBy
		/// </summary>	
		public DataSet Selecionar(String Where, String OrderBy)
        {
            return DAL.Selecionar(Where, OrderBy);
        }
		
		/// <summary>
		/// Retorna DataSet
		/// </summary>	
		public DataSet Selecionar()
        {
            return DAL.Selecionar();
        }
			
		
		/// <summary>
		/// Retorna uma lista de objetos por parametro Where, OrderBy
		/// </summary>
		public List<OBJ_TB_USUARIO>SelecionarLista(String Where, String OrderBy)
		{						
			return 	DAL.SelecionarLista(Where,OrderBy);
		}
		
		
		/// <summary>
		/// Retorna uma lista de objetos por parametro 
		/// </summary>
		public List<OBJ_TB_USUARIO>SelecionarLista()
		{						
			return 	DAL.SelecionarLista();
		}
		
		public void PreencheControle(System.Web.UI.Control controle, bool selecione)
        {
            if (controle is DropDownList)
            {
                DropDownList ddl = (DropDownList)controle;
                ddl.Items.Clear();
                foreach (OBJ_TB_USUARIO obj in DAL.SelecionarLista())
                {
                    ddl.Items.Add(new ListItem(obj.login.ToString(), obj.id.ToString()));
                }
                
                if (selecione)
                {
                    ddl.Items.Insert(0, new ListItem("Selecione", ""));
                    ddl.SelectedIndex = 0;
                }

                ddl.DataBind();
            }


            if (controle is ListBox)
            {
                ListBox lst = (ListBox)controle;
                lst.Items.Clear();
                foreach (OBJ_TB_USUARIO obj in DAL.SelecionarLista())
                {
                    lst.Items.Add(new ListItem(obj.login.ToString(), obj.id.ToString()));
                }

                if (selecione)
                {
                    lst.Items.Insert(0, new ListItem("Selecione", ""));
                    lst.SelectedIndex = 0;
                }

                lst.DataBind();
            }

        }

        public void PreencheControle(System.Web.UI.Control controle,String Where, String OrderBy, bool selecione)
        {
            if (controle is DropDownList)
            {
                DropDownList ddl = (DropDownList)controle;
                ddl.Items.Clear();
                foreach (OBJ_TB_USUARIO obj in DAL.SelecionarLista(Where,OrderBy))
                {
                    ddl.Items.Add(new ListItem(obj.login.ToString(), obj.id.ToString()));
                }

                if (selecione)
                {
                    ddl.Items.Insert(0, new ListItem("Selecione", ""));
                    ddl.SelectedIndex = 0;
                }

                ddl.DataBind();
            }


            if (controle is ListBox)
            {
                ListBox lst = (ListBox)controle;
                lst.Items.Clear();
                foreach (OBJ_TB_USUARIO obj in DAL.SelecionarLista(Where, OrderBy))
                {
                    lst.Items.Add(new ListItem(obj.login.ToString(), obj.id.ToString()));
                }

                if (selecione)
                {
                    lst.Items.Insert(0, new ListItem("Selecione", ""));
                    lst.SelectedIndex = 0;
                }

                lst.DataBind();
            }

        }										
		public DataSet ListaCampos()
		{
			 return DAL.ListaCampos();
		}

        public bool ValidaLoginSenha(String login, String senha)
        {
            return DAL.ValidaLogin(login, senha);
        }

        public bool ValidaLoginEmail(String login, String email)
        {

            return DAL.ValidaLoginEmail(login, email);
        }

        public void RecuperarSenha(String login, String email, String senha)
        {
            DAL.RecuperarSenha(login, email, senha);

        }


        public bool CriarSessao(String login, String senha, String id_session)
        {
            return DAL.CriarSessao(login, senha, id_session);
        }

        public bool ExisteLogin(String login)
        {
            return DAL.ExisteLogin(login);
        }

        public bool TrocaSenha(String login)
        {

            return DAL.TrocaSenha(login);

        }

        public void DesativarLogin(String login)
        {
            DAL.DesativarLogin(login);
        }

        public void AtivarLogin(String login)
        {
            DAL.AtivarLogin(login);
        }


        public DataTable CriarDataTable()
        {
            return DAL.CriarDataTable();
        }

        public DataTable PreencheDataTable(DataTable dt, OBJ_TB_USUARIO obj)
        {
            return DAL.PreencheDataTable(dt, obj);
        }

					
		#endregion
	}
	#endregion
}

